package logica.colecciones;

import java.rmi.RemoteException;
import java.util.ArrayList;
import java.io.Serializable;
import logica.fachadas.IObserver;

public class Observadores implements Serializable{
	private ArrayList<IObserver> observadores;
	private static Observadores instancia;
	
	private final static long serialVersionUID = 1;
	
	
	
	public Observadores() throws RemoteException{
		this.observadores = new ArrayList<IObserver>();
	}
	
	public static Observadores getInstancia()throws RemoteException{
		if (instancia == null)
			instancia = new Observadores();
		return instancia;
	}
	
	public void agregarObservador(IObserver cliente) throws RemoteException{
		this.observadores.add(cliente);
	}
	
	public void notificar() throws RemoteException{
		for (int i=0; i<this.observadores.size(); i++)
			this.observadores.get(i).update();	
	}
	
	public int cantObs() throws RemoteException{
		 return this.observadores.size();
	}
}
